summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@hotmail.co.uk>2014-01-19 01:55:08 +0100
committerTiger Wang <ziwei.tiger@hotmail.co.uk>2014-01-19 01:55:08 +0100
commit71b01234a2eadbf3512e8efcdd28b2728d720628 (patch)
tree87df1817b753e6298242cda4ac5f0d86614c99c6 /Tools
parentImproved command blocks (diff)
downloadcuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.tar
cuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.tar.gz
cuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.tar.bz2
cuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.tar.lz
cuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.tar.xz
cuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.tar.zst
cuberite-71b01234a2eadbf3512e8efcdd28b2728d720628.zip
Diffstat (limited to 'Tools')
-rw-r--r--Tools/ProtoProxy/Connection.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/Tools/ProtoProxy/Connection.cpp b/Tools/ProtoProxy/Connection.cpp
index 34da9b700..cd66e2dfd 100644
--- a/Tools/ProtoProxy/Connection.cpp
+++ b/Tools/ProtoProxy/Connection.cpp
@@ -2496,7 +2496,8 @@ bool cConnection::HandleServerUpdateTileEntity(void)
HANDLE_SERVER_PACKET_READ(ReadBEShort, short, BlockY);
HANDLE_SERVER_PACKET_READ(ReadBEInt, int, BlockZ);
HANDLE_SERVER_PACKET_READ(ReadByte, Byte, Action);
- HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
+ HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
+
AString Data;
if ((DataLength > 0) && !m_ServerBuffer.ReadString(Data, DataLength))
{
@@ -2506,6 +2507,18 @@ bool cConnection::HandleServerUpdateTileEntity(void)
Log(" Block = {%d, %d, %d}", BlockX, BlockY, BlockZ);
Log(" Action = %d", Action);
DataLog(Data.data(), Data.size(), " Data (%u bytes)", Data.size());
+
+ // Save metadata to a file:
+ AString fnam;
+ Printf(fnam, "%s_item_%08x.nbt", m_LogNameBase.c_str(), m_ItemIdx++);
+ FILE * f = fopen(fnam.c_str(), "wb");
+ if (f != NULL)
+ {
+ fwrite(Data.data(), 1, Data.size(), f);
+ fclose(f);
+ Log("(saved to file \"%s\")", fnam.c_str());
+ }
+
COPY_TO_CLIENT();
return true;
}